package com.bcurtu.amigo.db;

import java.util.List;

import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Property;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.bcurtu.amigo.pojo.Amigo;
import com.bcurtu.amigo.pojo.Grupo;

public class GrupoDaoHibernate extends HibernateDaoSupport implements GrupoDao {

	public Integer save(Grupo group) throws Exception {
		return (Integer)getHibernateTemplate().save(group);
	}

	public void save(Amigo amigo) throws Exception {
		getHibernateTemplate().save(amigo);
	}

	public Grupo getGroup(Integer id) throws Exception {
		// TODO Auto-generated method stub
		List<Grupo> g=getHibernateTemplate().find("From Grupo Where id=?", id);
		return g.get(0);
	}
	
	public List<Amigo> getAmigos(Integer grupo) throws Exception {
		Grupo g=new Grupo();
		g.setId(grupo);
		DetachedCriteria dc=DetachedCriteria.forClass(Amigo.class).add(Property.forName("grupo").eq(g));
		
		return (List<Amigo>)getHibernateTemplate().findByCriteria(dc);
	}

	public Amigo getAmigo(Integer amigoId) throws Exception {
		List<Amigo> g=getHibernateTemplate().find("From Amigo Where id=?", amigoId);
		return g.get(0);
	}	

	
}
